// ****************************************************************************** 
// Copyright     :  Copyright (C) 2018, Hisilicon Technologies Co. Ltd.
// File name     :  peri_c_union_define.h
// Project line  :  ICT
// Department    :  ICT Processor Chipset Development Dep
// Author        :  Huawei
// Version       :  1.0
// Date          :  2017/11/13
// Description   :  The description of Hi MINI project
// Others        :  Generated automatically by nManager V4.2 
// History       :  Huawei 2018/05/16 10:46:14 Create file
// ******************************************************************************

#ifndef __PERI_C_UNION_DEFINE_H__
#define __PERI_C_UNION_DEFINE_H__

/* Define the union U_CER_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    cer_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_CER_REG;

/* Define the union U_AXI_COMM */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    axi_comm : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_AXI_COMM;

/* Define the union U_SMB */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    smb : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SMB;

/* Define the union U_SFC_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    sfc_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SFC_REG;

/* Define the union U_SFC_MEM */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    sfc_mem : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SFC_MEM;

/* Define the union U_CFGBUS_A55 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    cfgbus_a55 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_CFGBUS_A55;

/* Define the union U_IPC_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    ipc_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_IPC_REG;

/* Define the union U_SDMAM_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    sdmam_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SDMAM_REG;

/* Define the union U_DISP_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    disp_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_DISP_REG;

/* Define the union U_SCHE_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    sche_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SCHE_REG;

/* Define the union U_FTE_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    fte_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_FTE_REG;

/* Define the union U_SMMU_REG3 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    smmu_reg3 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SMMU_REG3;

/* Define the union U_SMMU_REG2 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    smmu_reg2 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SMMU_REG2;

/* Define the union U_SMMU_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    smmu_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SMMU_REG1;

/* Define the union U_SMMU_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    smmu_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SMMU_REG0;

/* Define the union U_CFGBUS */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    cfgbus : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_CFGBUS;

/* Define the union U_EMMC_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    emmc_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EMMC_REG;

/* Define the union U_UART0_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    uart0_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_UART0_REG;

/* Define the union U_GPIO1_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gpio1_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GPIO1_REG;

/* Define the union U_IOMUX_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    iomux_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_IOMUX_REG;

/* Define the union U_TRNG_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    trng_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TRNG_REG;

/* Define the union U_EXMBIST1_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    exmbist1_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_EXMBIST1_REG;

/* Define the union U_DDRC7_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    ddrc7_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_DDRC7_REG1;

/* Define the union U_DDRC7_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    ddrc7_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_DDRC7_REG0;

/* Define the union U_DDRC6_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    ddrc6_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_DDRC6_REG1;

/* Define the union U_DDRC6_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    ddrc6_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_DDRC6_REG0;

/* Define the union U_DDRC5_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    ddrc5_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_DDRC5_REG1;

/* Define the union U_DDRC5_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    ddrc5_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_DDRC5_REG0;

/* Define the union U_DDRC4_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    ddrc4_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_DDRC4_REG1;

/* Define the union U_DDRC4_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    ddrc4_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_DDRC4_REG0;

/* Define the union U_TIMER29_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer29_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER29_REG;

/* Define the union U_TIMER28_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer28_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER28_REG;

/* Define the union U_TIMER27_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer27_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER27_REG;

/* Define the union U_TIMER26_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer26_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER26_REG;

/* Define the union U_TIMER25_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer25_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER25_REG;

/* Define the union U_TIMER24_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer24_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER24_REG;

/* Define the union U_TIMER23_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer23_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER23_REG;

/* Define the union U_TIMER22_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer22_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER22_REG;

/* Define the union U_TIMER21_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer21_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER21_REG;

/* Define the union U_TIMER20_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer20_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER20_REG;

/* Define the union U_TIMER19_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer19_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER19_REG;

/* Define the union U_TIMER18_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer18_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER18_REG;

/* Define the union U_TIMER17_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer17_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER17_REG;

/* Define the union U_TIMER16_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer16_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER16_REG;

/* Define the union U_TIMER15_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer15_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER15_REG;

/* Define the union U_TIMER14_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer14_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER14_REG;

/* Define the union U_TIMER13_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer13_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER13_REG;

/* Define the union U_TIMER12_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer12_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER12_REG;

/* Define the union U_TIMER11_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer11_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER11_REG;

/* Define the union U_TIMER10_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer10_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER10_REG;

/* Define the union U_TIMER9_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer9_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER9_REG;

/* Define the union U_TIMER8_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer8_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER8_REG;

/* Define the union U_TIMER7_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer7_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER7_REG;

/* Define the union U_TIMER6_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer6_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER6_REG;

/* Define the union U_TIMER5_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer5_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER5_REG;

/* Define the union U_TIMER4_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer4_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER4_REG;

/* Define the union U_TIMER3_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer3_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER3_REG;

/* Define the union U_TIMER2_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer2_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER2_REG;

/* Define the union U_TIMER1_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer1_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER1_REG;

/* Define the union U_TIMER0_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    timer0_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TIMER0_REG;

/* Define the union U_SECURE WDG0_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure wdg0_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE WDG0_REG1;

/* Define the union U_SECURE WDG0_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    secure wdg0_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SECURE WDG0_REG0;

/* Define the union U_WDG9_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg9_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG9_REG1;

/* Define the union U_WDG9_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg9_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG9_REG0;

/* Define the union U_WDG8_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg8_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG8_REG1;

/* Define the union U_WDG8_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg8_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG8_REG0;

/* Define the union U_WDG7_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg7_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG7_REG1;

/* Define the union U_WDG7_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg7_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG7_REG0;

/* Define the union U_WDG6_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg6_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG6_REG1;

/* Define the union U_WDG6_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg6_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG6_REG0;

/* Define the union U_WDG5_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg5_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG5_REG1;

/* Define the union U_WDG5_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg5_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG5_REG0;

/* Define the union U_WDG4_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg4_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG4_REG1;

/* Define the union U_WDG4_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg4_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG4_REG0;

/* Define the union U_WDG3_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg3_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG3_REG1;

/* Define the union U_WDG3_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg3_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG3_REG0;

/* Define the union U_WDG2_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg2_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG2_REG1;

/* Define the union U_WDG2_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg2_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG2_REG0;

/* Define the union U_WDG1_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg1_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG1_REG1;

/* Define the union U_WDG1_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg1_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG1_REG0;

/* Define the union U_WDG0_REG1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg0_reg1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG0_REG1;

/* Define the union U_WDG0_REG0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    wdg0_reg0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_WDG0_REG0;

/* Define the union U_TZPC_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    tzpc_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_TZPC_REG;

/* Define the union U_SUBCTRL_REG */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    subctrl_reg : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_SUBCTRL_REG;

/* Define the union U_ITS */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    its : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_ITS;

/* Define the union U_GIC0 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gic0 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GIC0;

/* Define the union U_GIC1 */
typedef union
{
    /* Define the struct bits */
    struct
    {
        unsigned int    gic1 : 40  ; /* [39:0] */
    } bits;

    /* Define an unsigned member */
    unsigned int    u32;

} U_GIC1;


//==============================================================================
/* Define the global struct */
typedef struct
{
    volatile U_CER_REG          CER_REG          ; /* 10D050000 */
    volatile U_AXI_COMM         AXI_COMM         ; /* 10D030000 */
    volatile U_SMB              SMB              ; /* 10D020000 */
    volatile U_SFC_REG          SFC_REG          ; /* 10D000000 */
    volatile U_SFC_MEM          SFC_MEM          ; /* 150000000 */
    volatile U_CFGBUS_A55       CFGBUS_A55       ; /* 101000000 */
    volatile U_IPC_REG          IPC_REG          ; /* 102090000 */
    volatile U_SDMAM_REG        SDMAM_REG        ; /* 102080000 */
    volatile U_DISP_REG         DISP_REG         ; /* 102060000 */
    volatile U_SCHE_REG         SCHE_REG         ; /* 102050000 */
    volatile U_FTE_REG          FTE_REG          ; /* 102040000 */
    volatile U_SMMU_REG3        SMMU_REG3        ; /* 102030000 */
    volatile U_SMMU_REG2        SMMU_REG2        ; /* 102020000 */
    volatile U_SMMU_REG1        SMMU_REG1        ; /* 102010000 */
    volatile U_SMMU_REG0        SMMU_REG0        ; /* 102000000 */
    volatile U_CFGBUS           CFGBUS           ; /* 100000000 */
    volatile U_EMMC_REG         EMMC_REG         ; /* 10CF90000 */
    volatile U_UART0_REG        UART0_REG        ; /* 10CF80000 */
    volatile U_GPIO1_REG        GPIO1_REG        ; /* 10CF40000 */
    volatile U_IOMUX_REG        IOMUX_REG        ; /* 10CF00000 */
    volatile U_TRNG_REG         TRNG_REG         ; /* 10CDC0000 */
    volatile U_EXMBIST1_REG     EXMBIST1_REG     ; /* 10CDB0000 */
    volatile U_DDRC7_REG1       DDRC7_REG1       ; /* 10CD90000 */
    volatile U_DDRC7_REG0       DDRC7_REG0       ; /* 10CD80000 */
    volatile U_DDRC6_REG1       DDRC6_REG1       ; /* 10CD70000 */
    volatile U_DDRC6_REG0       DDRC6_REG0       ; /* 10CD60000 */
    volatile U_DDRC5_REG1       DDRC5_REG1       ; /* 10CD50000 */
    volatile U_DDRC5_REG0       DDRC5_REG0       ; /* 10CD40000 */
    volatile U_DDRC4_REG1       DDRC4_REG1       ; /* 10CD30000 */
    volatile U_DDRC4_REG0       DDRC4_REG0       ; /* 10CD20000 */
    volatile U_TIMER29_REG      TIMER29_REG      ; /* 10C8D0000 */
    volatile U_TIMER28_REG      TIMER28_REG      ; /* 10C8C0000 */
    volatile U_TIMER27_REG      TIMER27_REG      ; /* 10C8B0000 */
    volatile U_TIMER26_REG      TIMER26_REG      ; /* 10C8A0000 */
    volatile U_TIMER25_REG      TIMER25_REG      ; /* 10C890000 */
    volatile U_TIMER24_REG      TIMER24_REG      ; /* 10C880000 */
    volatile U_TIMER23_REG      TIMER23_REG      ; /* 10C870000 */
    volatile U_TIMER22_REG      TIMER22_REG      ; /* 10C860000 */
    volatile U_TIMER21_REG      TIMER21_REG      ; /* 10C850000 */
    volatile U_TIMER20_REG      TIMER20_REG      ; /* 10C840000 */
    volatile U_TIMER19_REG      TIMER19_REG      ; /* 10C830000 */
    volatile U_TIMER18_REG      TIMER18_REG      ; /* 10C820000 */
    volatile U_TIMER17_REG      TIMER17_REG      ; /* 10C810000 */
    volatile U_TIMER16_REG      TIMER16_REG      ; /* 10C800000 */
    volatile U_TIMER15_REG      TIMER15_REG      ; /* 10C7F0000 */
    volatile U_TIMER14_REG      TIMER14_REG      ; /* 10C7E0000 */
    volatile U_TIMER13_REG      TIMER13_REG      ; /* 10C7D0000 */
    volatile U_TIMER12_REG      TIMER12_REG      ; /* 10C7C0000 */
    volatile U_TIMER11_REG      TIMER11_REG      ; /* 10C7B0000 */
    volatile U_TIMER10_REG      TIMER10_REG      ; /* 10C7A0000 */
    volatile U_TIMER9_REG       TIMER9_REG       ; /* 10C790000 */
    volatile U_TIMER8_REG       TIMER8_REG       ; /* 10C780000 */
    volatile U_TIMER7_REG       TIMER7_REG       ; /* 10C770000 */
    volatile U_TIMER6_REG       TIMER6_REG       ; /* 10C760000 */
    volatile U_TIMER5_REG       TIMER5_REG       ; /* 10C750000 */
    volatile U_TIMER4_REG       TIMER4_REG       ; /* 10C740000 */
    volatile U_TIMER3_REG       TIMER3_REG       ; /* 10C730000 */
    volatile U_TIMER2_REG       TIMER2_REG       ; /* 10C720000 */
    volatile U_TIMER1_REG       TIMER1_REG       ; /* 10C710000 */
    volatile U_TIMER0_REG       TIMER0_REG       ; /* 10C700000 */
    volatile U_SECURE WDG0_REG1 SECURE WDG0_REG1 ; /* 10C610000 */
    volatile U_SECURE WDG0_REG0 SECURE WDG0_REG0 ; /* 10C600000 */
    volatile U_WDG9_REG1        WDG9_REG1        ; /* 10C330000 */
    volatile U_WDG9_REG0        WDG9_REG0        ; /* 10C320000 */
    volatile U_WDG8_REG1        WDG8_REG1        ; /* 10C310000 */
    volatile U_WDG8_REG0        WDG8_REG0        ; /* 10C300000 */
    volatile U_WDG7_REG1        WDG7_REG1        ; /* 10C2F0000 */
    volatile U_WDG7_REG0        WDG7_REG0        ; /* 10C2E0000 */
    volatile U_WDG6_REG1        WDG6_REG1        ; /* 10C2D0000 */
    volatile U_WDG6_REG0        WDG6_REG0        ; /* 10C2C0000 */
    volatile U_WDG5_REG1        WDG5_REG1        ; /* 10C2B0000 */
    volatile U_WDG5_REG0        WDG5_REG0        ; /* 10C2A0000 */
    volatile U_WDG4_REG1        WDG4_REG1        ; /* 10C290000 */
    volatile U_WDG4_REG0        WDG4_REG0        ; /* 10C280000 */
    volatile U_WDG3_REG1        WDG3_REG1        ; /* 10C270000 */
    volatile U_WDG3_REG0        WDG3_REG0        ; /* 10C260000 */
    volatile U_WDG2_REG1        WDG2_REG1        ; /* 10C250000 */
    volatile U_WDG2_REG0        WDG2_REG0        ; /* 10C240000 */
    volatile U_WDG1_REG1        WDG1_REG1        ; /* 10C230000 */
    volatile U_WDG1_REG0        WDG1_REG0        ; /* 10C220000 */
    volatile U_WDG0_REG1        WDG0_REG1        ; /* 10C210000 */
    volatile U_WDG0_REG0        WDG0_REG0        ; /* 10C200000 */
    volatile U_TZPC_REG         TZPC_REG         ; /* 10C170000 */
    volatile U_SUBCTRL_REG      SUBCTRL_REG      ; /* 10C000000 */
    volatile U_ITS              ITS              ; /* 108000000 */
    volatile U_GIC0             GIC0             ; /* 109000000 */
    volatile U_GIC1             GIC1             ; /* 10A000000 */

} S_peri_REGS_TYPE;

/* Declare the struct pointor of the module peri */
extern volatile S_peri_REGS_TYPE *gopperiAllReg;

/* Declare the functions that set the member value */
int iSetCER_REG_cer_reg(unsigned int ucer_reg);
int iSetAXI_COMM_axi_comm(unsigned int uaxi_comm);
int iSetSMB_smb(unsigned int usmb);
int iSetSFC_REG_sfc_reg(unsigned int usfc_reg);
int iSetSFC_MEM_sfc_mem(unsigned int usfc_mem);
int iSetCFGBUS_A55_cfgbus_a55(unsigned int ucfgbus_a55);
int iSetIPC_REG_ipc_reg(unsigned int uipc_reg);
int iSetSDMAM_REG_sdmam_reg(unsigned int usdmam_reg);
int iSetDISP_REG_disp_reg(unsigned int udisp_reg);
int iSetSCHE_REG_sche_reg(unsigned int usche_reg);
int iSetFTE_REG_fte_reg(unsigned int ufte_reg);
int iSetSMMU_REG3_smmu_reg3(unsigned int usmmu_reg3);
int iSetSMMU_REG2_smmu_reg2(unsigned int usmmu_reg2);
int iSetSMMU_REG1_smmu_reg1(unsigned int usmmu_reg1);
int iSetSMMU_REG0_smmu_reg0(unsigned int usmmu_reg0);
int iSetCFGBUS_cfgbus(unsigned int ucfgbus);
int iSetEMMC_REG_emmc_reg(unsigned int uemmc_reg);
int iSetUART0_REG_uart0_reg(unsigned int uuart0_reg);
int iSetGPIO1_REG_gpio1_reg(unsigned int ugpio1_reg);
int iSetIOMUX_REG_iomux_reg(unsigned int uiomux_reg);
int iSetTRNG_REG_trng_reg(unsigned int utrng_reg);
int iSetEXMBIST1_REG_exmbist1_reg(unsigned int uexmbist1_reg);
int iSetDDRC7_REG1_ddrc7_reg1(unsigned int uddrc7_reg1);
int iSetDDRC7_REG0_ddrc7_reg0(unsigned int uddrc7_reg0);
int iSetDDRC6_REG1_ddrc6_reg1(unsigned int uddrc6_reg1);
int iSetDDRC6_REG0_ddrc6_reg0(unsigned int uddrc6_reg0);
int iSetDDRC5_REG1_ddrc5_reg1(unsigned int uddrc5_reg1);
int iSetDDRC5_REG0_ddrc5_reg0(unsigned int uddrc5_reg0);
int iSetDDRC4_REG1_ddrc4_reg1(unsigned int uddrc4_reg1);
int iSetDDRC4_REG0_ddrc4_reg0(unsigned int uddrc4_reg0);
int iSetTIMER29_REG_timer29_reg(unsigned int utimer29_reg);
int iSetTIMER28_REG_timer28_reg(unsigned int utimer28_reg);
int iSetTIMER27_REG_timer27_reg(unsigned int utimer27_reg);
int iSetTIMER26_REG_timer26_reg(unsigned int utimer26_reg);
int iSetTIMER25_REG_timer25_reg(unsigned int utimer25_reg);
int iSetTIMER24_REG_timer24_reg(unsigned int utimer24_reg);
int iSetTIMER23_REG_timer23_reg(unsigned int utimer23_reg);
int iSetTIMER22_REG_timer22_reg(unsigned int utimer22_reg);
int iSetTIMER21_REG_timer21_reg(unsigned int utimer21_reg);
int iSetTIMER20_REG_timer20_reg(unsigned int utimer20_reg);
int iSetTIMER19_REG_timer19_reg(unsigned int utimer19_reg);
int iSetTIMER18_REG_timer18_reg(unsigned int utimer18_reg);
int iSetTIMER17_REG_timer17_reg(unsigned int utimer17_reg);
int iSetTIMER16_REG_timer16_reg(unsigned int utimer16_reg);
int iSetTIMER15_REG_timer15_reg(unsigned int utimer15_reg);
int iSetTIMER14_REG_timer14_reg(unsigned int utimer14_reg);
int iSetTIMER13_REG_timer13_reg(unsigned int utimer13_reg);
int iSetTIMER12_REG_timer12_reg(unsigned int utimer12_reg);
int iSetTIMER11_REG_timer11_reg(unsigned int utimer11_reg);
int iSetTIMER10_REG_timer10_reg(unsigned int utimer10_reg);
int iSetTIMER9_REG_timer9_reg(unsigned int utimer9_reg);
int iSetTIMER8_REG_timer8_reg(unsigned int utimer8_reg);
int iSetTIMER7_REG_timer7_reg(unsigned int utimer7_reg);
int iSetTIMER6_REG_timer6_reg(unsigned int utimer6_reg);
int iSetTIMER5_REG_timer5_reg(unsigned int utimer5_reg);
int iSetTIMER4_REG_timer4_reg(unsigned int utimer4_reg);
int iSetTIMER3_REG_timer3_reg(unsigned int utimer3_reg);
int iSetTIMER2_REG_timer2_reg(unsigned int utimer2_reg);
int iSetTIMER1_REG_timer1_reg(unsigned int utimer1_reg);
int iSetTIMER0_REG_timer0_reg(unsigned int utimer0_reg);
int iSetSECURE WDG0_REG1_secure wdg0_reg1(unsigned int usecure wdg0_reg1);
int iSetSECURE WDG0_REG0_secure wdg0_reg0(unsigned int usecure wdg0_reg0);
int iSetWDG9_REG1_wdg9_reg1(unsigned int uwdg9_reg1);
int iSetWDG9_REG0_wdg9_reg0(unsigned int uwdg9_reg0);
int iSetWDG8_REG1_wdg8_reg1(unsigned int uwdg8_reg1);
int iSetWDG8_REG0_wdg8_reg0(unsigned int uwdg8_reg0);
int iSetWDG7_REG1_wdg7_reg1(unsigned int uwdg7_reg1);
int iSetWDG7_REG0_wdg7_reg0(unsigned int uwdg7_reg0);
int iSetWDG6_REG1_wdg6_reg1(unsigned int uwdg6_reg1);
int iSetWDG6_REG0_wdg6_reg0(unsigned int uwdg6_reg0);
int iSetWDG5_REG1_wdg5_reg1(unsigned int uwdg5_reg1);
int iSetWDG5_REG0_wdg5_reg0(unsigned int uwdg5_reg0);
int iSetWDG4_REG1_wdg4_reg1(unsigned int uwdg4_reg1);
int iSetWDG4_REG0_wdg4_reg0(unsigned int uwdg4_reg0);
int iSetWDG3_REG1_wdg3_reg1(unsigned int uwdg3_reg1);
int iSetWDG3_REG0_wdg3_reg0(unsigned int uwdg3_reg0);
int iSetWDG2_REG1_wdg2_reg1(unsigned int uwdg2_reg1);
int iSetWDG2_REG0_wdg2_reg0(unsigned int uwdg2_reg0);
int iSetWDG1_REG1_wdg1_reg1(unsigned int uwdg1_reg1);
int iSetWDG1_REG0_wdg1_reg0(unsigned int uwdg1_reg0);
int iSetWDG0_REG1_wdg0_reg1(unsigned int uwdg0_reg1);
int iSetWDG0_REG0_wdg0_reg0(unsigned int uwdg0_reg0);
int iSetTZPC_REG_tzpc_reg(unsigned int utzpc_reg);
int iSetSUBCTRL_REG_subctrl_reg(unsigned int usubctrl_reg);
int iSetITS_its(unsigned int uits);
int iSetGIC0_gic0(unsigned int ugic0);
int iSetGIC1_gic1(unsigned int ugic1);

#endif // __PERI_C_UNION_DEFINE_H__
